//  @ Project : GagalPanen
//  @ File Name : cell.hpp
//  @ Date : 3/9/2011
//  @ Author : 
//
//


#if !defined(_CELL_H)
#define _CELL_H


class Cell {
public:
  Cell(GameInterface* game);
  Cell(GameInterface* game, Cell* teleport_destination);
  virtual void advanceDay() = 0;
  virtual void advanceTime() = 0;
  virtual bool isEnterable() = 0;
  virtual bool isPlantable() = 0;
  virtual bool isSteppable() = 0;
  Cell* getTeleportDestination();
  bool isTeleportCell();
protected:
  GameInterface* game_;
private:
  bool is_teleport_;
  Cell* teleport_destination_;
};

#endif  //_CELL_H
